/**
 * 
 */
package HotelOfPumpkin.Card.ItemCard;

import HotelOfPumpkin.Instantiable;
import HotelOfPumpkin.Card.Card;
import HotelOfPumpkin.Card.CardFactory;
import HotelOfPumpkin.Card.ItemCard.internal.CopperKeyCard;
import HotelOfPumpkin.Card.ItemCard.internal.CrabstickCard;
import HotelOfPumpkin.Card.ItemCard.internal.EyepatchCard;
import HotelOfPumpkin.Card.ItemCard.internal.FirebrandCard;
import HotelOfPumpkin.Card.ItemCard.internal.FluteCard;
import HotelOfPumpkin.Card.ItemCard.internal.GoldKeyCard;
import HotelOfPumpkin.Card.ItemCard.internal.WoodenSpikeCard;

/**
 * @author Chensc
 *
 */
public class ItemCardFactory extends CardFactory {
	
	

	/**
	 * 
	 */
	public ItemCardFactory() {
		super();
		buildOnCards(9, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new GoldKeyCard();
			}			
		});
		buildOnCards(24, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new CopperKeyCard();
			}			
		});
		buildOnCards(6, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new EyepatchCard();
			}			
		});
		buildOnCards(24, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new FirebrandCard();
			}			
		});
		buildOnCards(4, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new FluteCard();
			}			
		});
		buildOnCards(6, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new WoodenSpikeCard();
			}			
		});
		buildOnCards(8, new Instantiable<Card>() {
			@Override
			public Card instantiate() {
				return new CrabstickCard();
			}			
		});
	}
	
}
